/*
 * Copyright (C) 2017-2021
 * All rights reserved, Designed By
 * Copyright authorization contact 18814114118
 */
package com.shop.cereshop.business.service.shop;

import com.shop.cereshop.business.param.shop.ShopCertificationFlowParam;
import com.shop.cereshop.business.page.shop.*;
import com.shop.cereshop.commons.domain.business.CerePlatformBusiness;
import com.shop.cereshop.commons.exception.CoBusinessException;

import java.util.List;

/**
 * 店铺认证流程服务接口
 */
public interface ShopCertificationFlowService {

    /**
     * OCR识别营业执照和身份证
     */
    RecognizeResp recognize(ShopCertificationFlowParam param) throws CoBusinessException;

    /**
     * 开始认证流程
     */
    StartFlowResp start(ShopCertificationFlowParam param, CerePlatformBusiness user) throws CoBusinessException;

    /**
     * 人脸识别验证
     */
    SimpleFlowResp faceRecognition(ShopCertificationFlowParam param, CerePlatformBusiness user) throws CoBusinessException;

    /**
     * 完成认证并创建店铺
     */
    CompleteResp complete(ShopCertificationFlowParam param, CerePlatformBusiness user) throws CoBusinessException;

    /**
     * 查询认证流程状态
     */
    SimpleFlowResp getStatus(String flowId, CerePlatformBusiness user) throws CoBusinessException;

    /**
     * 取消认证流程
     */
    SimpleFlowResp cancel(String flowId, CerePlatformBusiness user) throws CoBusinessException;
}
